#ifndef GLOBAL_H
#define GLOBAL_H

#define DATETIME_FORMAT "yyyy-MM-dd hh:mm:ss"
#define DATE_FORMAT "yyyy-MM-dd"
#define TIME_FORMAT "hh:mm:ss"
#define DICOM_DATE_FORMAT "yyyyMMdd"
#define DICOM_TIME_FORMAT "hhmmss"
#define DICOM_TIME_FORMAT_MS "hhmmss.zzz"
#define INCH_MM_RATIO 25.40
#define QSETTINGS_CODEC_NAME "UTF-8"

#define LOCAL_NETWORK_CONFIG "etc/local/network.ini"
#define LOCAL_SYSTEM_CONFIG "etc/local/system.ini"
#define LOCAL_IDFORMAT_CONFIG "etc/local/idformat.ini"

#define DICOM_WLISTSCP_DIR "etc/dicom/wlistscp/"
#define DICOM_WLISTSCU_DIR "etc/dicom/wlistscu/"
#define DICOM_WLISTSCU_QUERY_MASK DICOM_WLISTSCU_DIR"wlistmask.dcm"
#define DICOM_STORESCP_DIR "etc/dicom/storescp"
#define DICOM_PRINTSCP_DIR "etc/dicom/printscp/"
#define DICOM_FINDSCP_DIR "etc/dicom/findscp/"
#define DICOM_FINDSCU_DIR "etc/dicom/findscu/"
#define DICOM_FINDSCU_FINDMASK DICOM_FINDSCU_DIR"findmask.dcm"

#define NETWORK_DBMS_TYPE "DBMS/Type"
#define NETWORK_DBMS_HOST "DBMS/Host"
#define NETWORK_DBMS_PORT "DBMS/Port"
#define NETWORK_DBMS_NAME "DBMS/Name"
#define NETWORK_DBMS_USER "DBMS/User"
#define NETWORK_DBMS_PWD  "DBMS/Password"

#define NETWORK_FTP_HOST "FTP/Host"
#define NETWORK_FTP_PORT "FTP/Port"
#define NETWORK_FTP_USER "FTP/User"
#define NETWORK_FTP_PWD  "FTP/Password"

#define NETWORK_FTP_CLOUD_HOST "FTP_CLOUD/Host"
#define NETWORK_FTP_CLOUD_PORT "FTP_CLOUD/Port"
#define NETWORK_FTP_CLOUD_USER "FTP_CLOUD/User"
#define NETWORK_FTP_CLOUD_PWD  "FTP_CLOUD/Password"

#define NETWORK_HTTP_NOTIFY "HTTP/Notify"

#define SYSTEM_MANUFACTURE_NAME "MANUFACTURE/Name"
#define SYSTEM_MANUFACTURE_MODEL "MANUFACTURE/Model"
#define SYSTEM_MANUFACTURE_SERIALNO "MANUFACTURE/SerialNo"

#define SYSTEM_INSTITUTION_NAME "INSTITUTION/Name"
#define SYSTEM_INSTITUTION_ADDR "INSTITUTION/Addr"
#define SYSTEM_INSTITUTION_TEL "INSTITUTION/Tel"

#define SYSTEM_STATION_NAME "STATION/Name"
#define SYSTEM_STATION_AET "STATION/Aet"
#define SYSTEM_STATION_CHARACTERSET "STATION/CharacterSet"
#define SYSTEM_STATION_PORT "STATION/Port"

#define IDFORMAT_PATIENTID_START "PATIENTID/Start"
#define IDFORMAT_PATIENTID_DIGITS "PATIENTID/Digits"
#define IDFORMAT_PATIENTID_PREFIX "PATIENTID/Prefix"
#define IDFORMAT_PATIENTID_SUFFIX "PATIENTID/Suffix"

#define IDFORMAT_ACCNUM_START "ACCNUM/Start"
#define IDFORMAT_ACCNUM_DIGITS "ACCNUM/Digits"
#define IDFORMAT_ACCNUM_PREFIX "ACCNUM/Prefix"
#define IDFORMAT_ACCNUM_SUFFIX "ACCNUM/Suffix"

#define DICOM_SCP_AET "SCP/Aet"
#define DICOM_SCP_HOST "SCP/Host"
#define DICOM_SCP_PORT "SCP/Port"

#define PLUGIN_DETECTOR_DIR "plugins/detector/"
#define PLUGIN_DETECTOR_LIB PLUGIN_DETECTOR_DIR"detector.dll"
#define PLUGIN_DETECTOR_CONFIG PLUGIN_DETECTOR_DIR"detector.ini"
#define PLUGIN_DETECTOR_CAL_CONFIG PLUGIN_DETECTOR_DIR"calibration.ini"

#define PLUGIN_GENERATOR_DIR "plugins/generator/"
#define PLUGIN_GENERATOR_LIB PLUGIN_GENERATOR_DIR"generator.dll"
#define PLUGIN_GENERATOR_CONFIG PLUGIN_GENERATOR_DIR"generator.ini"

#define PLUGIN_PROCEDURE_DIR "plugins/procedure/"
#define PLUGIN_PROCEDURE_LIB PLUGIN_PROCEDURE_DIR"procedure.dll"
#define PLUGIN_PROCEDURE_IELIB PLUGIN_PROCEDURE_DIR"IeLauncher.dll"
#define PLUGIN_PROCEDURE_BODYPARTS_DIR PLUGIN_PROCEDURE_DIR"bodyparts/"

#define PLUGIN_IMAGEEDITOR_DIR "plugins/imageeditor/"
#define PLUGIN_IMAGEEDITOR_LIB PLUGIN_IMAGEEDITOR_DIR"imageeditor.dll"

#define DETECTOR_GENERAL_NAME "DETECTOR/Name"
#define DETECTOR_GENERAL_TYPE "DETECTOR/Type"
#define DETECTOR_GENERAL_ID "DETECTOR/ID"
#define DETECTOR_GENERAL_ACQLIB "DETECTOR/AcqLib"
#define DETECTOR_SPECIFICS_MODALITY "SPECIFICS/Modality"
#define DETECTOR_SPECIFICS_IMAGETYPE "SPECIFICS/ImageType"
#define DETECTOR_SPECIFICS_CONVERSIONTYPE "SPECIFICS/ConversionType"
#define DETECTOR_SPECIFICS_FRAMEWIDTH "SPECIFICS/FrameWidth"
#define DETECTOR_SPECIFICS_FRAMEHEIGHT "SPECIFICS/FrameHeight"
#define DETECTOR_SPECIFICS_PIXELWIDTH "SPECIFICS/PixelWidth"
#define DETECTOR_SPECIFICS_PIXELHEIGHT "SPECIFICS/PixelHeight"
#define DETECTOR_SPECIFICS_BITSALLOCATED "SPECIFICS/BitsAllocated"
#define DETECTOR_SPECIFICS_BITSSTORED "SPECIFICS/BitsStored"
#define DETECTOR_SPECIFICS_HIGHBIT "SPECIFICS/HighBit"
#define DETECTOR_SPECIFICS_SAMPLESPERPIXEL "SPECIFICS/SamplesPerPixel"
#define DETECTOR_SPECIFICS_PIXELREPRESENTATION "SPECIFICS/PixelRepresentation"
#define DETECTOR_SPECIFICS_RESCALEINTERCEPT "SPECIFICS/RescaleIntercept"
#define DETECTOR_SPECIFICS_RESCALESLOPE "SPECIFICS/RescaleSlope"
#define DETECTOR_SPECIFICS_RESCALETYPE "SPECIFICS/RescaleType"
#define DETECTOR_SPECIFICS_PHOTOMETRICINTERPRETATION "SPECIFICS/PhotometricInterpretation"
#define DETECTOR_SPECIFICS_WINDOWCENTERWIDTHEXPLANATION "SPECIFICS/WindowCenterWidthExplanation"
#define DETECTOR_SPECIFICS_CLASSUIDFORPROCESSING "SPECIFICS/ClassUidForProcessing"
#define DETECTOR_SPECIFICS_CLASSUIDFORPRESENTATION "SPECIFICS/ClassUidForPresentation"
#define DETECTOR_TRANSFORM_ROTATELEFT "TRANSFORM/RotateLeft"
#define DETECTOR_TRANSFORM_ROTATERIGHT "TRANSFORM/RotateRight"
#define DETECTOR_TRANSFORM_FLIPHORIZONTAL "TRANSFORM/FlipHorizontal"
#define DETECTOR_TRANSFORM_FLIPVERTICAL "TRANSFORM/FlipVertical"

#define CALIBRATION_FRAME_WIDTH "FRAME/Width"
#define CALIBRATION_FRAME_HEIGHT "FRAME/Height"
#define CALIBRATION_FRAME_DEPTH "FRAME/Depth"
#define CALIBRATION_PIXEL_WIDTH "PIXEL/Width"
#define CALIBRATION_PIXEL_HEIGHT "PIXEL/Height"
#define CALIBRATION_OFFSET_X "OFFSET/X"
#define CALIBRATION_OFFSET_Y "OFFSET/Y"
#define CALIBRATION_FIELD_X "FIELD/X"
#define CALIBRATION_FIELD_Y "FIELD/Y"
#define CALIBRATION_FIELD_WIDTH "FIELD/Width"
#define CALIBRATION_FIELD_HEIGHT "FIELD/Height"
#define CALIBRATION_TIME_SECAFTEREXP "TIME/SecAfterExp"
#define CALIBRATION_DARK_IMAGETOTAL "DARK/ImageTotal"
#define CALIBRATION_DARK_REFMIN "DARK/RefMin"
#define CALIBRATION_DARK_REFMAX "DARK/RefMax"
#define CALIBRATION_DARK_FILENAME "C:/CcdCalImages/darkcorrect.raw"
#define CALIBRATION_GAIN30_IMAGETOTAL "GAIN30/ImageTotal"
#define CALIBRATION_GAIN30_REFMIN "GAIN30/RefMin"
#define CALIBRATION_GAIN30_REFMAX "GAIN30/RefMax"
#define CALIBRATION_GAIN30_FILENAME "C:/CcdCalImages/gain30correct.raw"
#define CALIBRATION_GAIN60_IMAGETOTAL "GAIN60/ImageTotal"
#define CALIBRATION_GAIN60_REFMIN "GAIN60/RefMin"
#define CALIBRATION_GAIN60_REFMAX "GAIN60/RefMax"
#define CALIBRATION_GAIN60_FILENAME "C:/CcdCalImages/gain60correct.raw"
#define CALIBRATION_BADLINE_BADLINES "BADLINE/BadLines"
#define CALIBRATION_BADPIXEL_FILTER "BADPIXEL/Filter"
#define CALIBRATION_BADPIXEL_THRESHOLD "BADPIXEL/Threshold"

#define GENERATOR_GENERAL_NAME "GENERATOR/Name"
#define GENERATOR_SERIALPORT_NAME "SERIALPORT/Name"
#define GENERATOR_SERIALPORT_BAUDRATE "SERIALPORT/BaudRate"
#define GENERATOR_SERIALPORT_DATABITS "SERIALPORT/DataBits"
#define GENERATOR_SERIALPORT_PARITY "SERIALPORT/Parity"
#define GENERATOR_SERIALPORT_STOPBITS "SERIALPORT/StopBits"
#define GENERATOR_ERRORCODE_LASTCOUNT "ERRORCODE/LastCount"
#define GENERATOR_ERRORCODE_KEY "ERRORCODE/"

#define PROCEDURE_DOSE_KV "DOSE/Kv"
#define PROCEDURE_DOSE_MA "DOSE/Ma"
#define PROCEDURE_DOSE_MS "DOSE/Ms"
#define PROCEDURE_DOSE_MX "DOSE/Mx"
#define PROCEDURE_TRANSFORM_ROTATELEFT "TRANSFORM/RotateLeft"
#define PROCEDURE_TRANSFORM_ROTATERIGHT "TRANSFORM/RotateRight"
#define PROCEDURE_TRANSFORM_FLIPHORIZONTAL "TRANSFORM/FlipHorizontal"
#define PROCEDURE_TRANSFORM_FLIPVERTICAL "TRANSFORM/FlipVertical"
#define PROCEDURE_WINDOW_CENTER "WINDOW/Center"
#define PROCEDURE_WINDOW_WIDTH "WINDOW/Width"
#define PROCEDURE_CLIP_LEFT "CLIP/Left"
#define PROCEDURE_CLIP_RIGHT "CLIP/Right"
#define PROCEDURE_CLIP_TOP "CLIP/Top"
#define PROCEDURE_CLIP_BOTTOM "CLIP/Bottom"

#endif // GLOBAL_H
